/*
 编程获取两个指定字符串中的最大相同子串。

 如： s1="asdafghjka", s2="aaasdfg" 他们的最大子串为"asd"

 提示： 将短的那个串进行长度依次递减的子串与较长的串比较
 */
public class HW2 {
    public static void main(String[] args){
        String s1 = "asdafghjka";
        String s2 = "aaasdfg";

        int count = 0;
        //outer跳出两层循环，因为找到了最长的子字符串，所以直接跳出，后面的短的不用循环找了
        outer:
        for(int i=0; i<s2.length(); i++){
            //寻找长的字符串中是否包含短的字符串中去
            //从完整的短字符串去寻找，不断的从头到尾去缩小短字符串的大小去查找
           for(int j=0, z=s2.length()-i; z!=s2.length()+1; j++,z++){
               //查看短字符串的子字符串
                String st = s2.substring(j,z);
                //查看长字符串是否包含子字符串
                if(s1.contains(st))
                {
                    //输出查到的子字符串
                    System.out.println(st);
                    //跳出循环
                    break outer;
                }
           }
        }
    }
}
